Computer data storage refers to components, devices, and/or recording media used to retain digital data for periods of time. Various types of computer data storage exist, including memory devices (e.g., semiconductor storage), such as random access memory (RAM) devices and read only memory (ROM) devices, and mass storage devices, such as optical discs and magnetic storage (hard disks, magnetic tapes, etc.), and further types of storage.
A particular computer data storage implementation may be associated with a single computer or may be shared by multiple computers. For instance, a computer system that includes multiple computers may share a large persistent data store that is accessible over a storage network. The persistent data store may include a large number of independent storage units, including an array of hard disk drives and/or flash memory devices. Data may be stored in the data store in various ways. For instance, in one current technique for storing data, multipage units of data may be stored in a data store in the form of “stripes.” A set of storage units that is used to store data stripes may be referred to as a “stripeset.” “Stripesets” that store data in the form of “stripes” enable relatively high performance and high availability to stored data.
Allowing multiple computers to independently write stripes to a stripeset can be difficult to manage, however. For example, if pages of a stripe are written to different storage units independently, it may be difficult to ensure that pages from different stripes are written in the same order to all storage units of the stripeset. If stripes are permitted to be variable length, initial storage units of a stripeset may fill up faster than the last storage units of the stripeset. Furthermore, it may be difficult for the computers to determine an active stripeset at boot time. Still further, it is difficult to manage multiple independent stripesets.